Web Bluetooth API

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die Web Bluetooth API ermöglicht die Verbindung und Interaktion mit Bluetooth Low Energy-Peripheriegeräten.

Hinweis: Diese API ist nicht verfügbar in Web Workers (nicht über WorkerNavigator zugänglich).

Schnittstellen

Bluetooth

Bietet Methoden zum Abfragen der Bluetooth-Verfügbarkeit und zum Anfordern des Zugriffs auf Geräte.

BluetoothCharacteristicProperties

Stellt Eigenschaften einer bestimmten BluetoothRemoteGATTCharacteristic bereit.

BluetoothDevice

Repräsentiert ein Bluetooth-Gerät innerhalb einer bestimmten Skript-Ausführungsumgebung.

BluetoothRemoteGATTCharacteristic

Repräsentiert eine GATT-Charakteristik, ein grundlegendes Datenelement, das weitere Informationen über einen Dienst eines Peripheriegeräts liefert.

BluetoothRemoteGATTDescriptor

Repräsentiert einen GATT-Deskriptor, der weitere Informationen über den Wert einer Charakteristik liefert.

BluetoothRemoteGATTServer

Repräsentiert einen GATT-Server auf einem entfernten Gerät.

BluetoothRemoteGATTService

Repräsentiert einen Dienst, der von einem GATT-Server bereitgestellt wird, einschließlich eines Geräts, einer Liste referenzierter Dienste und einer Liste der Charakteristika dieses Dienstes.

Erweiterungen zu anderen Schnittstellen

Die Bluetooth API erweitert die folgenden APIs und fügt die aufgeführten Funktionen hinzu.

Gibt ein Bluetooth-Objekt für das aktuelle Dokument zurück und bietet Zugriff auf die Funktionalität der Web Bluetooth API.

Sicherheitsüberlegungen

Die Web Bluetooth API kann nur in einem sicheren Kontext verwendet werden.

Der Zugriff auf die API wird durch die Permissions Policy-Direktive bluetooth kontrolliert. Die Standard-Zugriffsliste für die bluetooth-Richtlinie ist self, was die Bluetooth-Nutzung in gleichherkunftsverschachtelten Frames ermöglicht, jedoch standardmäßig den Zugriff von Drittinhalten verhindert. Der ursprungsübergreifende Zugriff wird durch die Angabe der erlaubten Ursprünge sowohl im Permissions-Policy: bluetooth-HTTP-Header als auch im gewünschten <iframe> ermöglicht.

Um die Funktion nutzen zu können, muss der Benutzer zuerst ausdrücklich die Erlaubnis erteilen (er wird nicht um Zugriff gebeten, wenn dies aus anderen Gründen nicht erlaubt ist, z.B. wenn es durch eine Permissions Policy blockiert wird). Die Berechtigungsaufforderung wird angezeigt, wenn Bluetooth.requestDevice() aufgerufen wird, um den Zugriff auf ein neues Bluetooth-Gerät zu beantragen, für das keine Berechtigung erteilt wurde (das besitzende globale Objekt muss ebenfalls eine transiente Aktivierung haben). Sie können Bluetooth.getDevices() verwenden, um alle Geräte abzurufen, für die der Website zuvor die Berechtigung erteilt wurde.

Die Methode navigator.permissions.query() der Permissions API kann mit der bluetooth-Berechtigung verwendet werden, um zu testen, ob eine Website Berechtigung hat, Bluetooth-Geräte zu verwenden. Der Berechtigungsstatus ist granted, denied oder prompt (erfordert die Bestätigung einer Aufforderung durch den Benutzer):

js
const btPermission = await navigator.permissions.query({ name: "bluetooth" });
if (btPermission.state !== "denied") {
  // Do something
}

Spezifikationen

Specification
Web Bluetooth
# bluetooth

Browser-Kompatibilität